<?php

/**
 * @copyright       : FOSP
 * @version         : 20120409
 * @name            : Fpt_Business_MatchExtend_Adapter_Abstract
 * @todo            : Abstract access table match_extend
 * @author          : TrongNV
 */
abstract class Fpt_Business_MatchExtend_Adapter_Abstract {

    /**
     *
     * @var Fpt_Business_MatchExtend_Adapter_Abstract
     */
    protected static $instance;

    protected function __construct() {
        
    }

    /**
     * Get Fpt_Business_MatchExtend_Adapter_Abstract's instance
     * @return Fpt_Business_MatchExtend_Adapter_Abstract
     */
    abstract public static function getInstance();

    /**
     * Get list MatchExtend by list ids
     * @param array $arrMatchExtendIDs
     * @return array|bool
     * @author TrongNV
     */
    public function getDetailMatchExtendByIDs($arrMatchExtendIDs) {
        return array();
    }

    /**
     * Function abstract insertPredictMatch
     * @author TrongNV
     */
    abstract public function insertMatchPredict($params);

    /**
     * Function abstract insertCommentMatchExtend
     * @author TrongNV
     */
    abstract public function insertCommentMatchExtend($params);

    /**
     * Get list comment by matchid
     * @param int $match_id and $team_id
     * @return array|bool
     * @author TrongNV
     */
    public function getCommentByMatch($intMatchID, $intTeamID, $strIsApproved) {
        return array();
    }
    
     /**
     * Get report match predict
     * @param int $match_id
     * @return array|bool
     * @author TrongNV
     */
    public function getReportMatchPredict($intMatchID, $intType) {
        return array();
    }
    
     /**
     * Get total match predict
     * @param int $match_id
     * @return array|bool
     * @author TrongNV
     */
    public function getTotalMatchPredict($intMatchID) {
        return array();
    }
    
    /**
     * Get top match predict
     * @param int $match_id
     * @return array|bool
     * @author TrongNV
     */
    public function getTopMatchPredict($intMatchID, $limit) {
        return array();
    }
    
    /**
     *Insert Sms predict 
     */
    abstract public function insertSmsPredict($params);
    
    /**
     *Update Match predict 
     */
   
    public function updateMatchPredict($intMatchID, $strMobile, $strCodePredict) {
        return array();
    }
    
}